﻿/*
 * 功能：登录 注册
 * 创建人： 李铭
 * 创建时间：2017/9/11
 * 
 * 修改人：LYC
 * 修改时间：2017-9-20
 * 修改简介： 退出登录
 */
using Partner.MVC.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

using Newtonsoft.Json;
using System.Web.Security;

namespace Partner.MVC.Controllers
{
    public class LoginController : Controller
    {
        GuyEntities db = new GuyEntities();

        #region 登录
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="Name">用户名称</param>
        /// <returns>返回结果</returns>
        public string Use_Login(string Use_Name, string Use_Pwd)
        {
            var pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(Use_Pwd, "md5"); //把登录密码转换为md5加密后的数据进数据库密码对比

            var LoginModel = db.User_Info.Where(n => n.Use_Name == Use_Name).FirstOrDefault();
            var userpwd = FormsAuthentication.HashPasswordForStoringInConfigFile(LoginModel.Use_Pwd, "md5");
            if (LoginModel == null)
            {
                return "nameWrong";  // 用户名不存在
            }
            else
                if (userpwd != pwd)
                {
                    return "pwdWrong";  // 密码错误
                }
                else
                    if (LoginModel.IsUse != 1)
                    {
                        return "wrong";  // 该用户未启用
                    }
                    else
                        if (LoginModel.Use_Name == Use_Name && userpwd == pwd)
                        {
                            ///session过期时间为1小时。
                            Session.Timeout = 60;
                            Session["LoginUser"] = LoginModel;
                            Session["LoginUserName"] = LoginModel.Use_Name;
                            return JsonConvert.SerializeObject(LoginModel);
                        }
                        else
                        {
                            return "";
                        }
        }
        #endregion

        #region 注册
        /// <summary>
        /// 用户注册
        /// </summary>
        /// <param name="model">用户填写的基本信息</param>
        /// <returns>是否成功保存到数据库</returns>
        public int Use_Register(User_Info model)
        {
            //判断用户名是否存在
            var exists = db.User_Info.Where(n => n.Use_Name == model.Use_Name).FirstOrDefault();
            if (exists != null)
            {
                return 100;
            }
            //与用户填写的电话号码进行搜索，查询数据库是否存在此手机号。
            var list = db.User_Info.Where(n => n.Use_Telphone == model.Use_Telphone).FirstOrDefault();
            if (list != null)
            {
                return 101;
            }
            else
            {
                var pwd = model.Use_Pwd;
                pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "md5");   //MD5密码加密
                model.Use_Pwd = pwd;
                db.User_Info.Add(model);
                int i = db.SaveChanges();
                return i;
            }
        }
        #endregion

        #region 退出登录
        public int returnLogin()
        {
            Session["LoginUser"] = null;
            Session["LoginUserName"] = null;
            Session["LoginRole"] = null;
            return 1;
        }
        #endregion
    }
}
